"""
@Time : 2021/9/15 20:04 
@Author : 常雷
@File : t_13合并算法.py 
@Software: PyCharm
"""
'''
有两个字符串列表a和b. 每个字符串是由逗号分隔的一些字符
a = [
    'a,1',
    'b,3,22',
    'c,3,4'
]
b = [
    'a2',
    'b,1',
    'd,2'
]
按每个字符串的第一个值, 合并a和b到c
c = [
    'a,1,2',
    'b,3,22,1',
    'c,3,4',
    'd,2'
]
'''
a = [
    'a,1',
    'b,3,22',
    'c,3,4',
]
b = [
    'a,2',
    'b,1',
    'd,2',
]
# 方法一 另写一个c将合并后的加入其中
c = []
# 将a中有,或者a,b中都有的合并后加给c
for a_i in a:
    s = a_i
    for b_i in b:
        if b_i[0] == a_i[0]:
            s = a_i + b_i[1:]
            break
    c.append(s)
# 将b中有,a中没有的加给c
for a_i in b:
    for b_i in a:
        if b_i[0] == a_i[0]:
            break
    else:
        c.append(a_i)

print(c)

# 方法二 将c(赋值也可以)为a, 再进行操作, 这样不分开就不用为了另一种情况加循环
for b_i in b:
    for i in range(len(a)):
        if b_i[0] == a[i][0]:
            a[i] += b_i[1:]
            break
    else:
        a.append(b_i)

print(c)

